// 因为 axios
import axios from "axios";
// 引入进度条插件
import nProgress from "nprogress";
// 引入进度条的样式
import "nprogress/nprogress.css"

// 利用 axios的对象的方法创建axios的实例
const request = axios.create({
    baseURL:"http://localhost:3000",
    timeout:5000,
    withCredentials:true // 跨域请求是发送Cookie
});
// 请求拦截器
request.interceptors.request.use((config)=>{
    // 进度条开始动
    nProgress.start();
    // config 是一个配置对象，有个属性很重要， header请求头
    return config;
})
// 响应拦截器
request.interceptors.response.use((res) =>{
    // 进度条结束
    nProgress.done();
    return res.data;
},(error) =>{
    // 服务器响应失败
    return Promise.reject(new Error('falie'))
});
// 对外暴露
export default request;